这个头文件提供 常用的基本功能。例如内存管理,程序终止等。
常量 | 标准 | 说明 |
---|
EXIT_SUCCESS | C89 | 表示程序正确执行,通常为 0 |
EXIT_FAILURE | C89 | 表示程序执行失败,通常为 1 |
数学计算 | 标准 | 说明 |
---|
abs | C89 | 计算 int 的绝对值 |
labs | C89 | 计算 long 的绝对值 |
llabs | C99 | 计算 long long 绝对值 |
div | C89 | 计算 int 除法,同时得到商和余数 |
ldiv | C89 | 计算 long 除法,同时得到商和余数 |
lldiv | C99 | 计算 long long 除法,同时得到商和余数 |
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int compare(const void *a, const void *b) {
return (*(int*)a - *(int*)b);
}
int main(void) {
printf("=== 内存分配示例 ===\n");
int *arr = (int*)malloc(5 * sizeof(int));
if (arr == NULL) {
printf("内存分配失败!\n");
return 1;
} else {
printf("内存分配成功!\n");
}
printf("\n=== 随机数生成示例 ===\n");
srand(time(0));
printf("随机数[0,99]: %d\n", rand() % 100);
printf("\n=== 字符串转换示例 ===\n");
char num_str[] = "12345";
int num = atoi(num_str);
printf("字符串\"%s\"转换为整数: %d\n", num_str, num);
printf("\n=== 环境变量示例 ===\n");
char *path = getenv("PATH");
if (path != NULL) {
printf("PATH环境变量: %s\n", path);
} else {
printf("PATH环境变量未找到\n");
}
printf("\n=== 排序示例 ===\n");
for (int i = 0; i < 5; i++) {
arr[i] = rand() % 100;
printf("arr[%d] = %d\n", i, arr[i]);
}
qsort(arr, 5, sizeof(int), compare);
printf("排序后:\n");
for (int i = 0; i < 5; i++) {
printf("arr[%d] = %d\n", i, arr[i]);
}
free(arr);
printf("\n程序正常退出\n");
exit(EXIT_SUCCESS);
}
运行结果:
=== 内存分配示例 ===
内存分配成功!
=== 随机数生成示例 ===
随机数[0,99]: 92
=== 字符串转换示例 ===
字符串"12345"转换为整数: 12345
=== 环境变量示例 ===
PATH环境变量: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
=== 排序示例 ===
arr[0] = 74
arr[1] = 0
arr[2] = 64
arr[3] = 73
arr[4] = 28
排序后:
arr[0] = 0
arr[1] = 28
arr[2] = 64
arr[3] = 73
arr[4] = 74
程序正常退出